#ifndef Definicoes_H
#define Definicoes_H

#include <string>
/** @details Estados da amizade.
*/
namespace Estados
{
    extern int DELETADO;
    extern int PENDENTE;
    extern int CONFIRMADO;
}
/** @details Nomes das tabelas do BD.
*/
namespace Tabela
{
    extern std::string contas;
    extern std::string mensagens;
    extern std::string amigos;
    extern std::string cache;
}
/** @details Nome dos dados entrados no registro de uma nova conta.
*/
namespace Registro
{
    extern std::string Nome;
    extern std::string Email;
    extern std::string Niver;
    extern std::string Senha;
}
/** @details Nome dos dados entrados na edicao de uma conta.
*/
namespace Editar
{
    extern std::string Nome;
    extern std::string Email;
    extern std::string Senha;
}
/*namespace Procurar
{
    extern std::string Nome;
    extern std::string Email;
    extern std::string Senha;
}*/
/** @details Base da navegacao.
*/
namespace IBase
{
    extern std::string AdminS;
    extern std::string SairNUM;
    extern std::string RegistroNUM;
    extern std::string LoginNUM;
}
/** @details Nome das opcoes de navegacao para usuario comum.
*   Sufixo NUM indica que a opcao e um numero.
*   Sufixo C indica que e um char.
*   Sufixo S indica que e uma string.
*/
namespace IUser
{
    extern std::string  ShowAccElseNUM;
    extern std::string  AceitarNUM;
    extern std::string  RecusarNUM;
    extern std::string  CadastrarAmigoNUM;
    extern std::string  OptionAlguemC;
    extern std::string  OptionAlguemS;
    extern std::string  OptionMuralC;
    extern std::string  OptionMuralS;
    extern unsigned int OptionNomeI;
    extern std::string  OptionNomeS;
    extern std::string  OptionNomeC;
    extern unsigned int OptionSenhaI;
    extern std::string  OptionSenhaS;
    extern std::string  OptionSenhaC;
    extern std::string  DeslogarNUM;
    extern std::string  ShowAccNUM;
    extern std::string  ShowMuralNUM;
    extern std::string  EditarContaNUM;
    extern std::string  DeletarContaNUM;
    extern std::string  CadastrarMensagemNUM;
    extern std::string  ShowChatNUM;
    extern std::string  ShowPendentesNUM;
    extern std::string  ShowConfirmadosNUM;
}
/** @details Nome das opcoes de navegacao para usuario admin.
*   Sufixo NUM indica que a opcao e um numero.
*   Sufixo C indica que e um char.
*   Sufixo S indica que e uma string.
*/
namespace IAdmin
{
    extern std::string  CadastrarAmigoNUM;
    extern std::string  AceitarNUM;
    extern std::string  RecusarNUM;
    extern std::string  OptionAlguemC;
    extern std::string  OptionAlguemS;
    extern std::string  OptionMuralC;
    extern std::string  OptionMuralS;
    extern unsigned int OptionNomeI;
    extern std::string  OptionNomeS;
    extern std::string  OptionNomeC;
    extern unsigned int OptionClearanceI;
    extern std::string  OptionClearanceS;
    extern std::string  OptionClearanceC;
    extern unsigned int OptionSenhaI;
    extern std::string  OptionSenhaS;
    extern std::string  OptionSenhaC;
    extern std::string  DeslogarNUM;
    extern std::string  ShowAccNUM;
    extern std::string  ShowAccElseNUM;
    extern std::string  ShowMuralNUM;
    extern std::string  EditarContaNUM;
    extern std::string  EditarContaElseNUM;
    extern std::string  DeletarContaNUM;
    extern std::string  DeletarContaElseNUM;
    extern std::string  CadastrarMensagemNUM;
    extern std::string  ShowChatNUM;
    extern std::string  ShowChatNUM;
    extern std::string  ShowPendentesNUM;
    extern std::string  ShowConfirmadosNUM;
}

#endif
